unit IBankPerfect;


interface

uses Windows, ActiveX, Classes, Graphics, StdVCL, Variants;

type

  IBankPerfectPlugin = interface
    ['{E5860C65-4A93-4619-8A15-1C9D19E804BA}']
    function Get_AccountCount: Integer; safecall;
    function Get_AccountCurrent: Integer; safecall;
    function Get_AccountBankName(AccountIndex: Integer): WideString; safecall;
    procedure Set_AccountBankName(AccountIndex: Integer; const Value: WideString); safecall;
    function Get_AccountName(AccountIndex: Integer): WideString; safecall;
    procedure Set_AccountName(AccountIndex: Integer; const Value: WideString); safecall;
    function Get_AccountBranchName(AccountIndex: Integer): WideString; safecall;
    procedure Set_AccountBranchName(AccountIndex: Integer; const Value: WideString); safecall;
    function Get_AccountBranchAddress(AccountIndex: Integer): WideString; safecall;
    procedure Set_AccountBranchAddress(AccountIndex: Integer; const Value: WideString); safecall;
    function Get_AccountBranchNumber(AccountIndex: Integer): WideString; safecall;
    procedure Set_AccountBranchNumber(AccountIndex: Integer; const Value: WideString); safecall;
    function Get_AccountNumber(AccountIndex: Integer): WideString; safecall;
    procedure Set_AccountNumber(AccountIndex: Integer; const Value: WideString); safecall;
    function Get_OperationAmount(AccountIndex: Integer; LineIndex: Integer): Double; safecall;
    procedure Set_OperationAmount(AccountIndex: Integer; LineIndex: Integer; Value: Double); safecall;
    function Get_OperationCount(AccountIndex: Integer): Integer; safecall;
    function Get_OperationDate(AccountIndex: Integer; LineIndex: Integer): WideString; safecall;
    procedure Set_OperationDate(AccountIndex: Integer; LineIndex: Integer; const Value: WideString); safecall;
    function Get_OperationMode(AccountIndex: Integer; LineIndex: Integer): WideString; safecall;
    procedure Set_OperationMode(AccountIndex: Integer; LineIndex: Integer; const Value: WideString); safecall;
    function Get_Operationthirdparty(AccountIndex: Integer; LineIndex: Integer): WideString; safecall;
    procedure Set_Operationthirdparty(AccountIndex: Integer; LineIndex: Integer; const Value: WideString); safecall;
    function Get_OperationDetails(AccountIndex: Integer; LineIndex: Integer): WideString; safecall;
    procedure Set_OperationDetails(AccountIndex: Integer; LineIndex: Integer; const Value: WideString); safecall;
    function Get_OperationCateg(AccountIndex: Integer; LineIndex: Integer): Integer; safecall;
    procedure Set_OperationCateg(AccountIndex: Integer; LineIndex: Integer; Value: Integer); safecall;
    function Get_OperationMark(AccountIndex: Integer; LineIndex: Integer): Integer; safecall;
    procedure Set_OperationMark(AccountIndex: Integer; LineIndex: Integer; Value: Integer); safecall;
    function MsgBox(const Msg: WideString; uType: LongWord): Integer; safecall;
    function LineAdd(AccountIndex: Integer; const Date: WideString; const Mode: WideString; const ThirdParty: WideString; const Details: WideString; Categ: Integer; Amount: Double; Mark: Integer): Integer; safecall;
    procedure LineDelete(AccountIndex: Integer; LineIndex: Integer); safecall;
    function Get_CategName(CategIndex: Integer): WideString; safecall;
    function Get_CategParent(CategIndex: Integer): Integer; safecall;
    function Get_CategCount: Integer; safecall;
    function OpenDialog(const Title: WideString; const RootFolder: WideString; const DefaultExt: WideString; const Filters: WideString): WideString; safecall;
    function Get_AccountCurrency1(AccountIndex: Integer): WideString; safecall;
    procedure Set_AccountCurrency1(AccountIndex: Integer; const Value: WideString); safecall;
    function Get_AccountCurrency2(AccountIndex: Integer): WideString; safecall;
    procedure Set_AccountCurrency2(AccountIndex: Integer; const Value: WideString); safecall;
    function Get_AccountBankLogo(AccountIndex: Integer): WideString; safecall;
    function Get_OperationModeIndex(AccountIndex: Integer; LineIndex: Integer): Integer; safecall;
    function Get_OperationModeSign(AccountIndex: Integer; LineIndex: Integer): Integer; safecall;
    procedure BankPerfectCloseFile; safecall;
    function BankPerfectOpenFile(const Path: WideString; const Password: WideString): Integer; safecall;
    procedure BankPerfectNewFile(const Path: WideString; const UserName: WideString; Solde: Double); safecall;
    procedure CategAdd(const CategName: WideString; IsSubCateg: Integer); safecall;
    procedure CategDelete(CategIndex: Integer); safecall;
    procedure CategRename(CategIndex: Integer; const NewName: WideString); safecall;
    procedure AccountRefreshScreen; safecall;
    procedure AccountChangeCurrent(AccountIndex: Integer); safecall;
    procedure BankPerfectSave(const Path: WideString); safecall;
    function OperationGetNameFromModeIndex(ModeIndex: Integer): WideString; safecall;
    function BankPerfectPluginPath: WideString; safecall;
    function BankPerfectFileName: WideString; safecall;
    function BankPerfectExePath: WideString; safecall;
    function Get_AccountIsVirtual(AccountIndex: Integer): Integer; safecall;
    procedure Set_AccountIsVirtual(AccountIndex: Integer; Value: Integer); safecall;
    function Get_AccountBIC(AccountIndex: Integer): WideString; safecall;
    procedure Set_AccountBIC(AccountIndex: Integer; const Value: WideString); safecall;
    function Get_AccountIBAN(AccountIndex: Integer): WideString; safecall;
    procedure Set_AccountIBAN(AccountIndex: Integer; const Value: WideString); safecall;
    function Get_OperationMarkDate(AccountIndex: Integer; LineIndex: Integer): WideString; safecall;
    procedure Set_OperationMarkDate(AccountIndex: Integer; LineIndex: Integer; const Value: WideString); safecall;
    function Get_OperationExtra(AccountIndex: Integer; LineIndex: Integer; const Key: WideString): WideString; safecall;
    procedure Set_OperationExtra(AccountIndex: Integer; LineIndex: Integer; const Key: WideString; const Value: WideString); safecall;
    function LineSelect(LineIndex: Integer): Integer; safecall;
    function InputText(const ACaption: WideString; const APrompt: WideString; var Value: WideString): Integer; safecall;
    function CustomForm(const Caption: WideString; const Code: WideString; Width: Integer; Height: Integer): WideString; safecall;
    function GetURL(const URL: WideString): WideString; safecall;
    function VisibleLines: WideString; safecall;
    procedure ShellExecute(const Operation: WideString; const Filename: WideString; const Parameters: WideString; Showcmd: Integer); safecall;
    property AccountCount: Integer read Get_AccountCount;
    property AccountCurrent: Integer read Get_AccountCurrent;
    property AccountBankName[AccountIndex: Integer]: WideString read Get_AccountBankName write Set_AccountBankName;
    property AccountName[AccountIndex: Integer]: WideString read Get_AccountName write Set_AccountName;
    property AccountBranchName[AccountIndex: Integer]: WideString read Get_AccountBranchName write Set_AccountBranchName;
    property AccountBranchAddress[AccountIndex: Integer]: WideString read Get_AccountBranchAddress write Set_AccountBranchAddress;
    property AccountBranchNumber[AccountIndex: Integer]: WideString read Get_AccountBranchNumber write Set_AccountBranchNumber;
    property AccountNumber[AccountIndex: Integer]: WideString read Get_AccountNumber write Set_AccountNumber;
    property OperationAmount[AccountIndex: Integer; LineIndex: Integer]: Double read Get_OperationAmount write Set_OperationAmount;
    property OperationCount[AccountIndex: Integer]: Integer read Get_OperationCount;
    property OperationDate[AccountIndex: Integer; LineIndex: Integer]: WideString read Get_OperationDate write Set_OperationDate;
    property OperationMode[AccountIndex: Integer; LineIndex: Integer]: WideString read Get_OperationMode write Set_OperationMode;
    property Operationthirdparty[AccountIndex: Integer; LineIndex: Integer]: WideString read Get_Operationthirdparty write Set_Operationthirdparty;
    property OperationDetails[AccountIndex: Integer; LineIndex: Integer]: WideString read Get_OperationDetails write Set_OperationDetails;
    property OperationCateg[AccountIndex: Integer; LineIndex: Integer]: Integer read Get_OperationCateg write Set_OperationCateg;
    property OperationMark[AccountIndex: Integer; LineIndex: Integer]: Integer read Get_OperationMark write Set_OperationMark;
    property CategName[CategIndex: Integer]: WideString read Get_CategName;
    property CategParent[CategIndex: Integer]: Integer read Get_CategParent;
    property CategCount: Integer read Get_CategCount;
    property AccountCurrency1[AccountIndex: Integer]: WideString read Get_AccountCurrency1 write Set_AccountCurrency1;
    property AccountCurrency2[AccountIndex: Integer]: WideString read Get_AccountCurrency2 write Set_AccountCurrency2;
    property AccountBankLogo[AccountIndex: Integer]: WideString read Get_AccountBankLogo;
    property OperationModeIndex[AccountIndex: Integer; LineIndex: Integer]: Integer read Get_OperationModeIndex;
    property OperationModeSign[AccountIndex: Integer; LineIndex: Integer]: Integer read Get_OperationModeSign;
    property AccountIsVirtual[AccountIndex: Integer]: Integer read Get_AccountIsVirtual write Set_AccountIsVirtual;
    property AccountBIC[AccountIndex: Integer]: WideString read Get_AccountBIC write Set_AccountBIC;
    property AccountIBAN[AccountIndex: Integer]: WideString read Get_AccountIBAN write Set_AccountIBAN;
    property OperationMarkDate[AccountIndex: Integer; LineIndex: Integer]: WideString read Get_OperationMarkDate write Set_OperationMarkDate;
    property OperationExtra[AccountIndex: Integer; LineIndex: Integer; const Key: WideString]: WideString read Get_OperationExtra write Set_OperationExtra;
  end;

implementation
end.
